Skip to content

Add Seed43 Extension#3370

Open
Seed-43 wants to merge 7 commits into
pyrevitlabs:developfrom
Seed-43:develop
Open

Add Seed43 Extension#3370
Seed-43 wants to merge 7 commits into
pyrevitlabs:developfrom
Seed-43:develop

Conversation

@Seed-43
Copy link
Copy Markdown

@Seed-43 Seed-43 commented May 9, 2026

Add Seed43 Extension to extensions.json (for newer pyRevit builds)

Description

This extension is designed for newer builds of pyRevit and provides a set of productivity tools for Revit, including:

  • Document Studio (PyTransmit)
  • 3D Tools
  • Revision tools
  • Update Checker
  • and more

Checklist

Before submitting your pull request, ensure the following requirements are met:

  • [*] Code follows the PEP 8 style guide.
  • [*] Code has been formatted with Black using the command:
    pipenv run black {source_file_or_directory}
  • [*] Changes are tested and verified to work as expected.

Related Issues

If applicable, link the issues resolved by this pull request:

  • Resolves #[issue number]

Additional Notes

  • Author: Seed43 (Fred)
  • Repository: https://github.com/Seed-43/Seed43
  • Website: https://seed43.org
  • This extension uses the modern extension format supported by newer pyRevit builds.
  • I still have a lot of reviewing and management to do on the scripts, but I am satisfied with the current state.
  • I hope this removes the black hole I had on my previous attempt ;).

Thank you for contributing to pyRevit! 🎉

Copy link
Copy Markdown
Contributor

@devloai devloai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary:

This PR adds the Seed43 community extension entry to extensions/extensions.json, making the extension discoverable by pyRevit. The entry includes the standard metadata fields: name, description, author, URL, website, and dependency list.

Review Summary:

The change is minimal — a single JSON object appended to the extensions array. Two issues were found: the closing brace of the new entry is under-indented (4 spaces instead of 8), breaking alignment with every other entry in the file; and both boolean fields (builtin, rocket_mode_compatible) use native JSON false values rather than the string "False" convention used throughout the rest of the file, which may cause unexpected behavior depending on how pyRevit parses these fields.

Suggestions

  • Verify the Seed43 GitHub repository is public and the .git URL resolves correctly before merging. Apply
  • Consider adding a more descriptive description field (e.g. listing key tools like PyTransmit, 3D Tools, Revision tools) to help users discover the extension. Apply

Comment thread extensions/extensions.json Outdated
"website": "https://seed43.org",
"image": "",
"dependencies": []
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The closing brace of the new entry is not indented correctly — it uses 4 spaces instead of 8, breaking the structural alignment with every other entry in the file. This is valid JSON (parsers don't care), but it's inconsistent with the entire rest of the file and violates the Black formatting / 4-space indentation convention enforced by the repo.

Suggested change
}
}
actions

Feedback: Rate this comment to help me improve future code reviews:

  • 👍 Good - Helpful and accurate
  • 👎 Poor - Wrong, unclear, or unhelpful
  • Skip if you don't have any strong opinions either way.

Comment thread extensions/extensions.json Outdated
},
{
"builtin": false,
"rocket_mode_compatible": false,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new entry uses native JSON booleans (false) for builtin and rocket_mode_compatible, while every other entry in the file uses string booleans ("False" / "True"). This inconsistency may cause parsing issues depending on how pyRevit reads these fields.

Please align with the existing convention:

"builtin": "False",
"rocket_mode_compatible": "False",
actions

Feedback: Rate this comment to help me improve future code reviews:

  • 👍 Good - Helpful and accurate
  • 👎 Poor - Wrong, unclear, or unhelpful
  • Skip if you don't have any strong opinions either way.

Fix Seed43 entry: string booleans, indentation, and improved description
@Seed-43 Seed-43 marked this pull request as ready for review May 9, 2026 03:42
@Wurschdhaud
Copy link
Copy Markdown
Contributor

Wurschdhaud commented May 9, 2026

Some feedback if you're ok with that. I have not tested any features, just opened up on single button:

  • i noticed you rely on inline metadata, be aware that support for that will be dropped. Use the bundle.yaml instead.
  • also have you tested how your icons look on dark mode? I only saw light mode icons, here's a converter script.
  • you do not utilize pyrevits lib at all. That's fine, but creates double work for you to create and maintain and makes the code less readable. Here's a great summary of what you miss out on. Keypoint:

Overlooked pyRevit Python Package Functionalities

In case you missed them, here are some useful things provided by pyRevit’s Python package:

  • No need to import clr or add references to the Revit API; many objects are already loaded by pyRevit and available to you, just import pyrevit.revit.
  • Access the current document easily with pyrevit.revit.doc.
  • Utilize pyrevit.revit.query functions for element searching; the module provides easy access to DB.ElementCollector methods.
  • adding pictures or short clips to your repo may help people to understand what to use this tools for. The majority of users will not install something to try it out without any visuals to support it.
  • tooltips in the form of png or mp4 for the individual tools may be good "ad" for the features as well. Be aware that git is no fan of that, so repo size will increase if you update these frequently.

@Seed-43
Copy link
Copy Markdown
Author

Seed-43 commented May 10, 2026

Thank you for your advice. I will look into utilising the pyRevit scripts snippets. I have always just copy and pasted sections as needed I’m still learning as I go.

noted: I will look at extracting the metadata into yamel files no issues it was easy for me to do it that way cos of habit, time for a new habit.

I have quite a bit of work still to do on evening but Rome wasn’t built in a day ;)

I did originally have light and dark icons but I disused to go generic one for both modes.

I do have a script that runs on Revit startup, that checks the version on git and user’s system for my tools and serves a pop up if they have an update.

I hope this is not any violation of pyRevit policy?
It’s just a popup if there is an update available.

@Wurschdhaud
Copy link
Copy Markdown
Contributor

pyrevit has a built-in visual indicator here if an update to any extension is available. I'm not sure if that still works, or got broken during some update, would be good to test it again. I wouldn't know of any violation to do it like you describing though, may just be annoying to click away

Seed-43 and others added 2 commits May 13, 2026 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants